<?php
/**
 ***********************************************************************************************************************
 * 配置文件装载类
 * @author llq
 ***********************************************************************************************************************
 */

namespace artisan;

/**
 * Class config
 * @package artisan
 */
class config
{
    /**
     * 单例模式容器
     * @var array
     */
    private static $container = [];

    /**
     * 应用路径 优先级最高
     * @var string
     */
    private static $appPath = APPPATH;

    /**
     * @param string $file 文件名称
     * @param string $key 键值对数组的键值
     * @return mixed
     */
    public static function get($file, $key = '')
    {
        if (empty($file) || !is_string($file)) {
            return '';
        }

        // 查看是否是php文件
        $extPos = strrpos($file, '.php');

        if ($extPos) {
            $file = substr($file, 0, $extPos);
        }

        $config = null;
        if (isset(self::$container['config'][$file])) {
            $config = self::$container['config'][$file];
        } else {
            foreach ([self::$appPath] as $path) {
                $realfile = $path . 'config/' . $file . '.php';
                if (file_exists($realfile)) {
                    $config = include($realfile);
                    self::$container['config'][$file] = $config;
                    break;
                }
            }
        }


        if ($config === null) {
            return '';
        }

        if ($key) {
            return isset($config[$key]) ? $config[$key] : '';
        }

        return $config;
    }
}